* {
    -color-text-light: #f2f2f2;
    -color-text-dark: #a6a6a6;

    -color-menu-background: #3c3f41;
    -color-menu-disabled-background: #303336;
    -color-menu-hover-background: #494d50;
    -color-menu-separator: #898989;

    -color-check-menu-item-enabled: #f2f2f2;

    -color-radio-button-background: #43494a;
    -color-radio-button-circle: #6a6a6a;
    -color-radio-button-dot: #bbbbbb;

    -color-button-disabled-text: #6f7777;
    -color-button-background: #4c5052;
    -color-button-border: #5e6060;
    -color-button-text: #acbbbb;
    -color-button-hover-background: #565a5d;
    -color-button-hover-border: #656767;
    -color-button-hover-text: #b9c6c6;
    -color-button-focused-shadow: #00bfff;
    -color-button-disabled-background: #3c3f41;

    -color-combo-box-background: #3c3f41;
    -color-combo-box-border: #646464;
    -color-combo-box-arrow: #bbbbbb;
    -color-combo-box-hover-background: #494d50;
    -color-combo-box-hover-border: #666666;
    -color-combo-box-hover-arrow: #bfbfbf;
    -color-combo-box-list-border: #020202;
    -color-combo-box-focused-shadow: #00bfff;

    -color-text-field-background: #45494a;
    -color-text-field-background-disabled: #3e4142;
    -color-text-field-border: #646464;
    -color-text-field-focused-shadow: #00bfff;

    -color-scroll-pane-border: #646464;
    -color-scroll-pane-shadow: #000000;
    -color-scroll-bar-thumb: #7c7c7c;

    -color-dialog-background: #3c3f41;
    -color-dialog-header-background: #494d50;
    -color-dialog-separator: #515151;

    -color-field-cell-odd: #46494b;
    -color-field-cell-even: #3c3f41;

    -color-slider-track-background: #616b6b;

    -color-error-text: #ff6b68;

    -fx-font-family: "Noto Sans";
}

/* ---------- MENU ---------- */

.menu-bar, .menu, .menu-item, .context-menu {
    -fx-background-color: -color-menu-background;
}

.menu-bar {
    -fx-padding: 0;
}

.menu {
    -fx-padding: 2 5 2 5;
}

.menu .context-menu {
    -fx-padding: 1;
}

.menu .label, .menu-item >.label, .check-menu-item {
    -fx-text-fill: -color-text-light;
    -fx-focused-mark-color: -color-check-menu-item-enabled;
    -fx-mark-color: -color-check-menu-item-enabled;
}

.menu:hover, .menu-item:hover, .check-menu-item:hover {
    -fx-background-color: -color-menu-hover-background;
}

.menu-item:disabled {
    -fx-background-color: -color-menu-disabled-background;
    -fx-opacity: 1;
}

.menu-item:disabled .label {
    -fx-text-fill: -color-button-disabled-text;
}

.menu .separator *.line {
    -fx-border-width: 0;
    -fx-background-color: -color-menu-separator;
}

/* ---------- RADIO BUTTON ---------- */

.radio-button {
    -fx-text-fill: -color-text-light;
    -fx-min-width: 150px;
}

.radio-button .radio {
    -fx-background-color: -color-radio-button-background;
    -fx-border-color: -color-radio-button-circle;
    -fx-border-radius: 10;
    -fx-border-width: 2;
    -fx-border-insets: 4;
    -fx-background-insets: 4;
}

.radio-button .radio .dot {
    -fx-padding: 3;
    -fx-mark-color: -color-radio-button-dot;
}

/* ---------- CHECKBOX ---------- */

.check-box {
    -fx-text-fill: -color-text-light;
}

.check-box .box {
    -fx-background-color: -color-radio-button-background;
    -fx-border-color: -color-radio-button-circle;
    -fx-border-radius: 2;
    -fx-border-width: 2;
    -fx-border-insets: 3;
    -fx-background-insets: 3;
}

.check-box .box .mark {
    -fx-padding: 5;
    -fx-mark-color: -color-radio-button-dot;
}

/* ---------- BUTTON ---------- */

.button {
    -fx-background-color: -color-button-background;
    -fx-border-color: -color-button-border;
    -fx-text-fill: -color-button-text;
    -fx-border-width: 1;
    -fx-border-radius: 1;
    -fx-background-radius: 1;
    -fx-pref-height: 22px;
    -fx-max-height: 22px;
    -fx-padding: 0;
}

.button:hover {
    -fx-background-color: -color-button-hover-background;
    -fx-border-color: -color-button-hover-border;
    -fx-text-fill: -color-button-hover-text;
}

.button:focused {
    -fx-effect: dropshadow(gaussian, -color-combo-box-focused-shadow, 4, 0, 0, 0);
}

.button-base:disabled {
    -fx-background-color: -color-button-disabled-background;
    -fx-text-fill: -color-button-text;
}

/* ---------- COMBO BOX ---------- */

.combo-box {
    -fx-background-color: -color-combo-box-background;
    -fx-background-radius: 0;
    -fx-border-width: 1;
    -fx-border-color: -color-combo-box-border;
    -fx-pref-width: 130px;
    -fx-min-width: 70px;
    -fx-padding: 0;
}

.combo-box:hover {
    -fx-background-color: -color-combo-box-hover-background;
    -fx-border-color: -color-combo-box-hover-border;
}

.combo-box:focused {
    -fx-effect: dropshadow(gaussian, -color-combo-box-focused-shadow, 4, 0, 0, 0);
}

.combo-box-base .arrow-button {
    -fx-border-width: 0 0 0 1;
    -fx-border-color: -color-combo-box-border;
    -fx-padding: 0 5 0 5;
}

.combo-box-base .arrow-button .arrow {
    -fx-background-color: -color-combo-box-arrow;
}

.combo-box .list-cell {
    -fx-text-fill: -color-text-light;
    -fx-padding: 2 5 2 5;
}

.combo-box-popup .list-view {
    -fx-padding: 0;
    -fx-border-width: 0 1 1 1;
    -fx-border-color: -color-combo-box-list-border;
}

.combo-box-popup .list-cell:hover {
    -fx-background-color: -color-menu-hover-background;
}

.combo-box-popup .list-cell {
    -fx-background-color: -color-menu-background;
}

/* ---------- TEXT FIELD ---------- */

.text-field {
    -fx-background-color: -color-text-field-background;
    -fx-background-radius: 0;
    -fx-border-width: 1px;
    -fx-border-color: -color-text-field-border;
    -fx-pref-height: 22px;
    -fx-max-height: 22px;
    -fx-min-width: 30px;
    -fx-padding: 0;
    -fx-font-weight: bold;
    -fx-text-fill: -color-text-light;
}

.text-field:focused {
    -fx-effect: dropshadow(gaussian, -color-text-field-focused-shadow, 4, 0, 0, 0);
}

/* ---------- SCROLL PANE ---------- */

.scroll-pane {
    -fx-background-color: -color-dialog-background;
    -fx-fit-to-width: true;
    -fx-border-width: 1;
    -fx-border-color: -color-scroll-pane-border;
    -fx-pref-height: 300;
    -fx-max-height: 300;
}

.scroll-pane > .viewport {
    -fx-effect: innershadow(gaussian, -color-scroll-pane-shadow, 4, 0, 0, 0);
    -fx-background-color: transparent;
}

.scroll-bar {
    -fx-background-color: -color-dialog-background;
}

.scroll-bar .thumb {
    -fx-background-color: -color-scroll-bar-thumb;
}

.scroll-bar:horizontal .increment-button, .scroll-bar:horizontal .decrement-button, .scroll-bar:horizontal .increment-arrow, .scroll-bar:horizontal .decrement-arrow {
    visibility: hidden;
    -fx-max-height: 0;
    -fx-pref-height: 0;
    -fx-padding: 0;
}

/* ---------- TEXT AREA ---------- */

.text-area {
    -fx-text-fill: -color-text-light;
    -fx-pref-height: 200px;
    -fx-pref-width: 600px;
}

.text-area .content {
    -fx-background-color: -color-text-field-background;
}

/* ---------- LISTVIEW ---------- */

.list-view {
    -fx-background-color: -color-dialog-background;
}

.list-view .indexed-cell:even {
    -fx-background-color: -color-field-cell-even;
}

.list-view .indexed-cell:odd {
    -fx-background-color: -color-field-cell-odd;
}

.list-view .cell {
    -fx-text-fill: -color-text-light;
}

.list-view .list-cell:selected {
    -fx-background-color: -color-text-field-focused-shadow;
}

/* ---------- TAB PANE ---------- */

.tab-header-background {
    -fx-background-color: -color-dialog-background;
}

.tab {
    -fx-background-color: -color-button-background;
}

.tab:hover {
    -fx-background-color: -color-button-hover-background;
}

.tab-label {
    -fx-text-fill: -color-text-light;
}

/* ---------- DIALOG ---------- */

.dialog-pane {
    -fx-background-color: -color-dialog-background;
}

.dialog-pane:header .header-panel {
    -fx-background-color: -color-dialog-header-background;
}

.dialog-pane .label {
    -fx-text-fill: -color-text-light;
}

.dialog-pane:header .header-panel .label {
    -fx-background-color: -color-dialog-header-background;
    -fx-text-fill: -color-text-light;
}

.dialog-pane > .button-bar > .container {
    -fx-background-color: -color-dialog-background;
}

.dialog-pane > .content.label {
    -fx-background-color: -color-dialog-background;
    -fx-text-fill: -color-text-light;
}

.dialog-pane .separator {
    -fx-padding: 10 0 10 0;
}

.dialog-pane .separator *.line {
    -fx-background-color: -color-dialog-separator;
}

/* ---------- HYPERLINK ---------- */

.hyperlink:visited  {
    -fx-text-fill: -color-text-light;
}

/* ---------- Slider ---------- */

.slider {
    -fx-show-tick-labels: true;
    -fx-show-tick-marks: true;
    -fx-snap-to-ticks: true;
}

.slider .thumb {
    -fx-background-radius: 0;
    -fx-pref-width: 6;
}

.slider .track {
    -fx-background-color: -color-slider-track-background;
    -fx-background-radius: 0;
}

.slider .axis {
    -fx-tick-label-fill: -color-text-light;
}

.slider-value-field {
    -fx-pref-width: 40;
}